package com.xianbeiying.app.ckgl.adapter;

import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.TextView;

import com.xianbeiying.app.ckgl.R;
import com.xianbeiying.app.ckgl.bean.EZqBean;
import com.xianbeiying.app.ckgl.util.DeviceUtil;
import com.xianbeiying.app.ckgl.util.LogUtils;
import com.xianbeiying.app.ckgl.util.ToastUtil;
import com.xianbeiying.app.ckgl.widght.MyGridView;

import java.util.List;

/**
 * 设备周期数据
 */
public class EquipmentZqAdapter extends BaseAdapter {
    private Context context;
    private List<EZqBean> geteZqBean;
    private Handler handler;
    public static boolean isStartZq=true;
    public static  boolean isChange=false;
    public EquipmentZqAdapter(Context context, List<EZqBean> geteZqBean){
        this.context = context;
        this.geteZqBean = geteZqBean;
    }

    private  EquipmentGridViewAdapter adapter;
    public void setHandler(Handler handler) {
        this.handler = handler;
    }
    @Override
    public int getCount() {
        return geteZqBean.size();
    }

    @Override
    public Object getItem(int position) {
        return getItem(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        final ViewHolder holder;
        final View view;
        if (convertView == null) {
            convertView = LayoutInflater.from(context).inflate(R.layout.item_equipment_zq, parent, false);
            holder = new ViewHolder();
            holder.ezq_plant = (TextView) convertView.findViewById(R.id.ezq_plant);
            holder.ezq_type = (TextView) convertView.findViewById(R.id.ezq_type);
            holder.ezq_grid = (MyGridView) convertView.findViewById(R.id.ezq_grid);
            holder.tv_ezq_start = (TextView) convertView.findViewById(R.id.tv_ezq_start);
            holder.tv_ezq_end = (TextView) convertView.findViewById(R.id.tv_ezq_end);
            holder.et_ezq_sc = (EditText) convertView.findViewById(R.id.et_ezq_sc);
            holder.et_ezq_zq = (EditText) convertView.findViewById(R.id.et_ezq_zq);
            holder.ezq_edit = (TextView) convertView.findViewById(R.id.ezq_edit);
            view=convertView;
            convertView.setTag(holder);
        } else {
            view=convertView;
            holder = (ViewHolder) convertView.getTag();
        }
        holder.ezq_plant.setText("组" + (position + 1));
        holder.ezq_type.setText("添加到计划中");
        holder.tv_ezq_start.setText(geteZqBean.get(position).getZqBean().get(0).getStarttime());
        holder.tv_ezq_end.setText(geteZqBean.get(position).getZqBean().get(0).getEndtime());
        holder.et_ezq_sc.setText(geteZqBean.get(position).getZqBean().get(0).getSc() + "");
        holder.et_ezq_zq.setText(geteZqBean.get(position).getZqBean().get(0).getZq() + "");
        if (holder.ezq_edit.getText().toString().trim().equals("编辑")) {
            holder.tv_ezq_start.setEnabled(false);
            holder.tv_ezq_end.setEnabled(false);
            holder.et_ezq_sc.setEnabled(false);
            holder.et_ezq_zq.setEnabled(false);
        } else{
            holder.tv_ezq_start.setEnabled(true);
            holder.tv_ezq_end.setEnabled(true);
            holder.et_ezq_sc.setEnabled(true);
            holder.et_ezq_zq.setEnabled(true);
        }
        holder.tv_ezq_start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Message msg = handler.obtainMessage();
                msg.what = v.getId();
                msg.arg1 = position;
                msg.obj = view;
                handler.sendMessage(msg);
            }
        });
        holder.tv_ezq_end.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Message msg = handler.obtainMessage();
                msg.what = v.getId();
                msg.arg1 = position;
                msg.obj = view;
                handler.sendMessage(msg);
            }
        });

        adapter=new EquipmentGridViewAdapter(context,geteZqBean.get(position).getZqBean());
        holder.ezq_grid.setAdapter(adapter);
//        //时长
//        holder.et_ezq_zq.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Message msg = handler.obtainMessage();
//                msg.what = v.getId();
//                msg.arg1 = position;
//                msg.obj = holder.et_ezq_zq;
//                handler.sendMessage(msg);
//            }
//        });
//        //周期
//        holder.et_ezq_sc.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Message msg = handler.obtainMessage();
//                msg.what = v.getId();
//                msg.arg1 = position;
//                msg.obj = holder.et_ezq_zq;
//                handler.sendMessage(msg);
//            }
//        });
        holder.ezq_edit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String strTv = holder.ezq_edit.getText().toString().trim();
                if (strTv.equals("编辑")) {
                    LogUtils.e("返回的状态:", geteZqBean.get(position).getZqBean().get(0).getStatus() + "=====");
                    if(geteZqBean.get(position).getZqBean().get(0).getStatus()==1){
                        ToastUtil.showInfo(context,"该计划正在运行中,请先停止计划,再进行编辑");
                        return;
                    }
                    holder.ezq_edit.setText("完成");
                    isStartZq=false;
                    holder.tv_ezq_start.setEnabled(true);
                    holder.tv_ezq_end.setEnabled(true);
                    holder.et_ezq_sc.setEnabled(true);
                    holder.et_ezq_zq.setEnabled(true);
                } else {
                    String startTime=holder.tv_ezq_start.getText().toString().trim();
                    String endTime=holder.tv_ezq_end.getText().toString().trim();
                    String sc=holder.et_ezq_sc.getText().toString().trim();
                    String zq=holder.et_ezq_zq.getText().toString().trim();
//                    if(startTime.isEmpty()){
//                        ToastUtil.showInfo(context, "请选择开始时间");
//                        return;
//                    }
//                    if(endTime.isEmpty()){
//                        ToastUtil.showInfo(context, "请选择结束时间");
//                        return;
//                    }
//                    if(sc.isEmpty()){
//                        ToastUtil.showInfo(context, "请输入时长");
//                        return;
//                    }
//                    if(zq.isEmpty()){
//                        ToastUtil.showInfo(context, "请输入天数");
//                        return;
//                    }
//                    if(sc.equals("0")){
//                        ToastUtil.showInfo(context, "请输入正确的时长");
//                        return;
//                    }
//                    if(zq.equals("0")){
//                        ToastUtil.showInfo(context, "请输入正确的天数");
//                        return;
//                    }
                    if(DeviceUtil.isInputNull(context,startTime,endTime,sc,zq)){
                    if(!sc.equals(geteZqBean.get(position).getZqBean().get(0).getSc()+"")){
                        isChange=true;
                    }
                    if(!zq.equals(geteZqBean.get(position).getZqBean().get(0).getZq()+"")){
                        isChange=true;
                    }
                    geteZqBean= DeviceUtil.updateZqALLBean(geteZqBean,Integer.valueOf(sc),Integer.valueOf(zq),position);
                    holder.tv_ezq_start.setEnabled(false);
                    holder.tv_ezq_end.setEnabled(false);
                    holder.et_ezq_sc.setEnabled(false);
                    holder.et_ezq_zq.setEnabled(false);
                    holder.ezq_edit.setText("编辑");
                    isStartZq=true;
                    adapter.notifyDataSetChanged();
                }}
//                Message msg = handler.obtainMessage();
//                msg.what = v.getId();
//                msg.arg1 = position;
//                msg.obj = strTv;
//                handler.sendMessage(msg);
            }
        });
        return convertView;
    }

    private class ViewHolder {
        TextView ezq_plant, ezq_type;
        MyGridView ezq_grid;
        TextView tv_ezq_start;
        TextView tv_ezq_end;
        EditText et_ezq_sc;
        EditText et_ezq_zq;
        TextView ezq_edit;//编辑
    }
}